package com.relytosoft.mizar.media.camera.services.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.relytosoft.dubhe.common.core.base.page.PageQuery;
import com.relytosoft.mizar.media.camera.api.entity.CameraType;
import com.relytosoft.mizar.media.camera.api.pojo.dto.CameraTypeDto;
import com.relytosoft.mizar.media.camera.api.pojo.vo.CameraTypeVo;

/**
 * @author lj
 */
public interface CameraTypeService extends IService<CameraType> {

    /**
     * 添加设备类型
     *
     * @param cameraTypeVo 参数
     * @return 是否成功
     */
    boolean add(CameraTypeVo cameraTypeVo);


    /**
     * 分页查询设备类型
     *
     * @param cameraTypeDto 设备类型
     * @param pageQuery  分页参数
     * @return 分页数据
     */
    IPage<CameraType> selectTypePageList(CameraTypeDto cameraTypeDto, PageQuery pageQuery);


    /**
     * 删除设备类型
     *
     * @param typeIds id
     */
    void deleteCameraTypeByIds(Integer[] typeIds);


    /**
     * 根据名称查询类型
     *
     * @param name 类型名称
     * @return 设备类型
     */
    CameraType findByName(String name);


    /**
     * 更新类型
     *
     * @param cameraType 设备类型
     */
    boolean updateCameraType( CameraType cameraType);

    /**
     * 设备详情
     *
     * @param id 设备ID;
     */
    CameraType byId(Integer id);
}
